我所经历的大数据平台发展史(下篇)-互联网时代数据模型
数据仓库这摊子事,从大约1998-1999年左右进入中国,一直发展到现在。 大约有十几年的历史了,我个人算是经历过早期的传统行业数据仓库时代,大约在08年左右进入到互联网又开始折腾到今天。我对于传统行业的数据平台记忆仅限于08年之前,对于到今天发展为什么样子了,我知识欠缺。反而互联网的数据平台也刚好弥补了这段时间留下的空缺。
互联网的特点就是看中的“用户体验”,我也是通过数据平台服务的用户变迁来分享的这个系列。
一在互联网时代被弱化的数据模型
我相信很多同僚都晓得传统数据平台的知识,其架构演进简单一句话说基本上可以分为“五个时代、四种架构”,但是到了互联网时代因为大数据快速膨胀与类型暴增的特点,从高阶架构上来看大约从第三代架构开始延续的,但是从我自己的知识上很难对互联网的数据平台做架构归类,只有剑走偏锋。
因为,我发现互联网企业中员工年龄比非互联网企业的要年轻,受教育程度和对计算机的焦虑程度明显比传统企业要低,还偶遇其它各方面的缘故,导致了数据平台所面对用户群体与非互联网数据平台有所差异化。
意识到用户对数据平台之间的相互依赖协作形式,是可以划分互联网数据平台演进的一种不错的维度。
传统行业与互联网行业数据平台,用户特性我只选择了两张图来表示(大家互联网篇章看到,基本也可以分为三个时代)
互联网业务的快速发展使得大家已经从经营、分析的诉求重点转为数据化的精细运营上,如何做好精细化运营问题,当资源不够时用户就叫喊,甚至有的业务挽起袖子自己参与到从数据整理、加工、分析阶段。
此时,原有建设数据平台的多个角色(数据开发、模型设计)可能转为对其它非专业使用数据方,做培训、咨询与落地,更加适合当前企业数据应用的一些方案与开发些数据产品等。
传统企业的数据源基本来自excel、表格、DB系统等,但在互联网有网站点击日志、视频、音频、图片数据等很多非结构化快速产生与保存。移动互联网除了互联网那些外还含有大量定位数据、自动化传感器、嵌入式设备、自动化设备等。
在互联网数据平台由于数据平台变为自由全开放,使用数据的人也参与到数据体系建设时,基本会因为不专业性导致数据质量问题,重复对分数据浪费存储与资源,口径多样化,编码不统一,命名问题等等原因。数据质量变成了首要的大敌。
数据模型被弱化了,数据架构导航图少了,难以建立业务系统与数据之间的映射与转换关系。数据描述经常不一致性。(如:同名异义、同物异名、大量冗余的存在)数据模型被弱化(数据仓库模型)是传统企业与互联网企业一个蛮大的差异,但是互联网企业也有自己特点,传统行业所涉及数据模型这个领域涉及的很多内容在互联网变成以其他的曲线救国的方式存在了。
二在互联网一些新解决
回顾在传统行业数据平台中,不管两位大师争论点数据模型的设计采用那种范式(Bill Inmon的EDW的原则是准三范式的设计、Ralph kilmbal是星型结构)但是都要非常重视数据源的质量问题。所以传统行业的数据模型会全盘考虑数据质量问题,并通过数据抽样分析给出合适的清洗口径。
但是在互联网呢,数据质量在互联网数据平台变成了一种心病。(ps:我了解过一个公司,能让数据平台+数据分析师+业务多人“对数”对一年的还是不准的)。在应对数据的质量问题,目前互联网有些做法是把数据标准化前置到业务数据产生就做,从根源上去杜绝,但是这种场景比较实用在Log日志的数据源中,比如移动互联网最近流行的基于事件模型“Event”模型,在日志产生时就规定好存储格式。(备注:大家度娘搜索【The Log】(我所读过的最好的一篇分布式技术文章)对这个讲解很详细)
目前,在传统行业还是以混合模型设计方式为主,但是在互联网我所接触的一些业务,在参照传统数据模型方法论基础上,逐步的在演进适合互联网数据的数据模型方法。比如互联网金融等一些业务会参考传统金融行业对主题域的划分,OMG数据仓库元数据管理CWM模型,FSDM金融模型再考虑大数据处理的一些特性去进行设计,所有从Hight Level数据架构图看到的划分与传统第三代数据仓库还是很多相似之处,也有分三层、四层。
但是在模型细节处理上已经完全不一样,比如数据的多样性、拉宽事实表、度量值单独存储、满足数据快速重生、维度的二次降维处理等,增加大量冗余列,增加大量派生列,结合自动化元数据来耦合,合并等相关管理。
以上来自支付宝2011年的数据模型
三维度数据模型
Olap多维模型在大数据下进行了退化维度处理。大家知道Olap多维模型,随着维度的增加事实表的数据量会成几何指数暴增,即使在现有的大数据技术、新的Olap引擎对一个Cube的数据量要求也要在时间与数据量上需要做到用户使用容忍度的平衡。
类似Olap的应用在互联网这个奇特思维土壤中我经历过一个曲线救国方式(2011-2012年时设计多维挖掘分析数据产品背后的技术就是搜索引擎实现的),但现在应该也有新技术出现了来解决类似的问题。
互联网业务特点业务垂直拆分非常细,比如一个用户注册、密码找回的流程有可能存在好几个产品负责同一个业务流程不同环节,相关的一个策略、产品feature快速迭代上线等等都要数据评估。
数据从前端埋点到采集然后再由各个环节到数据平台,再由数据分析师或各业 务部门去使用,基本拉长了时间周期。需求部门与实施部门能力和经验有千差万别的需求,造成了懂技术部门没有足够的精力完全理解业务部门奇形怪状需求,可能在各环节放缓与变的低效。
或许“适合敏捷”的维度建模在当前是个不错的选择,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。互联网企业业务特点是变化非常迅速的,能稳定的业务达到65%算对数据平台是个福音了(根据对某宝的印象)剩余的业务变化迅速,必然导致数据模型快速上下线。
Kimball老人家提出的维度建模(备注:在本系列发展史得第一篇有介绍)围绕业务模型能够非常直观的表达出业务的数据关系,但是在互联网NOSQL牺牲掉了关系型数据库的一致性,完整性等等很多东西。
维度数据模型又基于这些大数据技术,所以进化的更加轻量级与基于细节数据的维度退化建模。(备注:原有的缓慢变化维、快速变化维、大维、迷你维、父子维、雪花维为了适应互联网的大数据Nosql处理技术进行反规范化、化&数据冗余设计)
退化维度的反规范化设计一方面可以把一条查询语句所需要的所有数据组合起来放到一个地方存储 Key values的方式(比如说商品有不同类型,每一种类型商品又有自己的不同属性,可以采用一对多和多对多的方式存储,例如把一个多维映射为一个Key value)。(备注:维度模型设计在细节处理太多,后续有机会在做专题分享)。
讲到互联网数据平台就要提数据模型,提了数据模型就要提Nosql技术,NOSQL是大数据处理的特征之一。互联网数据平台数据模型与NOSql技术是非常紧密的。这里有外文讲解NOSQL Data modeling technigues从技术角度讲解非常详细。
(https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/)
到此为止“我所经历的大数据平台发展史”上下共四篇与大家分享完毕,这个写作前后经历刚好一个月左右,算是对自己数据从业经历回顾之一吧。在知识的整理中很多都是蜻蜓点水,每个知识域都是一个非常深的专业方向,自己涉足很肤浅,在文章中分享不足之处请各位读者见谅。
李博源, 网名松子,个人公众号:songzi2016 从业数据仓库领域工作近20年。
END
热门文章
我所经历的大数据平台发展史(上篇)-非互联网时代数据平台的发展
如何建立合适ERP系统应用的物料清单(BOM)(强烈推荐收藏)
查询国内外企业和相关组织机构信息的权威网站集锦 (强烈推荐收藏)
邮箱:ccjiu@163.com
QQ:174856958
我们的使命:发展数据治理行业、普及数据治理知识、改变企业数据管理现状、提高企业数据质量、推动企业走进大数据时代。
我们的愿景:打造数据治理专家、数据治理平台、数据治理生态圈。
我们的价值观:凝聚行业力量、打造数据治理全链条平台、改变数据治理生态圈。
了解更多精彩内容
长按,识别二维码,加关注
数据工匠俱乐部
微信号 : zgsjgjjlb
专注数据治理,推动大数据发展。